Mapped Type
https://www.typescriptlang.org/docs/handbook/2/mapped-types.html
typescript 2.1
から使える つまり随分前から使える
code:ts
type OptionsFlags<Type> = {
Property in keyof Type
: boolean;
};
このようにオブジェクトのkeyとvalueの組を、
keyofでオブジェクトのkeyを取得(ユニオンになる
index signatures
の内側で
Key in {ユニオン型}
で、ユニオン型をiterateできる
左側のkeyから動的に右側のvalueの型を定められる
これは、Record<Key,Value>などではできなかった